/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufc.quixada.adrs.comandos.adrs;

import br.ufc.quixada.adrs.interfaces.Comando;
import br.ufc.quixada.adrs.model.Adrs;
import br.ufc.quixada.adrs.model.Produtor;
import br.ufc.quixada.adrs.service.ProdutorService;
import br.ufc.quixada.adrs.util.Msg;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Caio
 */
public class CmdAdrsBuscarProdutor implements Comando {

    public String executa(HttpServletRequest request, HttpServletResponse response) {
        ProdutorService proS = new ProdutorService();
        HttpSession session = request.getSession();
        Adrs adrs = (Adrs) session.getAttribute("user");
        String nome = request.getParameter("nome_busca");

        if (nome == null || nome.trim().equals("")) {
            List<Produtor> prods = proS.getProdutoresByAdrsId(adrs.getId());
            if (prods == null || prods.isEmpty()) {
                session.setAttribute("erro", Msg.NOT_FOUND_ERROR_PRODUTORES);
            } else {
                session.setAttribute("produtores", prods);
            }
        } else {
            List<Produtor> prods = proS.searchProdutoresByNome(nome);
            for (int i = 0; i < prods.size(); i++) {
                Produtor p = prods.get(i);
                if (p.getAdrs().getId() != adrs.getId()) {
                    prods.remove(p);
                    i--;
                }
            }
            if (prods == null || prods.isEmpty()) {
                session.setAttribute("erro", Msg.NOT_FOUND_ERROR_PRODUTORES);
            } else {
                session.setAttribute("produtores", prods);
            }
        }
        return "/adrs/adrs_gerenciar_visitas.jsp";
    }
}
